.NET Core হলো Microsoft এর তৈরি একটি ওপেন-সোর্স, ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক, যা ওয়েব অ্যাপ্লিকেশন, ডেস্কটপ অ্যাপ্লিকেশন, মোবাইল অ্যাপ্লিকেশন, ক্লাউড সার্ভিস, এবং মাইক্রোসার্ভিস তৈরি করতে ব্যবহৃত হয়। এটি .NET Framework এর একটি আধুনিক, হালকা এবং দ্রুত সংস্করণ, যা Windows, macOS, এবং Linux-এর মতো বিভিন্ন প্ল্যাটফর্মে সমানভাবে কাজ করে।
.NET Core হলো Microsoft এর তৈরি একটি ফ্রি, ওপেন সোর্স, ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক, যা ওয়েব অ্যাপ্লিকেশন, ডেক্সটপ অ্যাপ্লিকেশন, মাইক্রোসার্ভিস, ক্লাউড সার্ভিস এবং অন্যান্য ধরনের অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। .NET Core মূলত .NET Framework এর একটি আধুনিক এবং লাইটওয়েট সংস্করণ, যা উইন্ডোজ ছাড়াও Linux এবং macOS এ চলে।
.NET Core এর প্রথম সংস্করণ প্রকাশিত হয় ২০১৬ সালে। এটি .NET Framework এর সীমাবদ্ধতা দূর করার জন্য তৈরি করা হয়েছিল, বিশেষ করে ক্রস-প্ল্যাটফর্ম সমর্থন এবং ক্লাউড ভিত্তিক অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য। Microsoft এর উদ্দেশ্য ছিল একটি মডুলার, পারফরম্যান্ট, এবং স্কেলযোগ্য ফ্রেমওয়ার্ক তৈরি করা, যা ওপেন সোর্স কমিউনিটির সাথে মিলে মডার্ন অ্যাপ্লিকেশন তৈরিতে সাহায্য করবে।
.NET Core Windows, Linux, এবং macOS সহ বিভিন্ন প্ল্যাটফর্মে চলে। ফলে একই কোড দিয়ে একাধিক প্ল্যাটফর্মে অ্যাপ্লিকেশন ডেভেলপ এবং ডেপ্লয় করা যায়।
.NET Core সম্পূর্ণ ওপেন সোর্স, এবং এটি GitHub এ উপলব্ধ। ডেভেলপাররা এর সোর্স কোড দেখতে, পরিবর্তন করতে, এবং অবদান রাখতে পারে।
.NET Core অত্যন্ত পারফরম্যান্ট এবং স্কেলযোগ্য। এটি ক্লাউড ভিত্তিক অ্যাপ্লিকেশন এবং মাইক্রোসার্ভিস আর্কিটেকচার এর জন্য বিশেষভাবে ডিজাইন করা হয়েছে। কম মেমরি ব্যবহার এবং দ্রুত প্রসেসিং ক্ষমতার কারণে এটি বড় প্রজেক্টের জন্য আদর্শ।
.NET Core এর ডিজাইন মডুলার। আপনি আপনার অ্যাপ্লিকেশনে শুধুমাত্র প্রয়োজনীয় লাইব্রেরি এবং প্যাকেজ ব্যবহার করতে পারেন, ফলে অ্যাপ্লিকেশন কমপ্যাক্ট এবং দ্রুত হয়।
.NET Core আধুনিক অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য অনেক গুরুত্বপূর্ণ ফিচার সরবরাহ করে, যেমন:
.NET Core সহজেই মাইক্রোসার্ভিস ভিত্তিক আর্কিটেকচার তৈরি করতে সাহায্য করে। এটি Docker এবং Kubernetes এর সাথে ইন্টিগ্রেশন করতে সক্ষম, যা স্কেলযোগ্য এবং মডুলার সার্ভিস-ভিত্তিক অ্যাপ্লিকেশন তৈরির জন্য আদর্শ।
.NET Core এর মাধ্যমে .NET Framework এ তৈরি করা আগের অ্যাপ্লিকেশনগুলোকে খুব সহজে .NET Core-এ মাইগ্রেট করা যায়। এর পাশাপাশি, এটি .NET Standard সমর্থন করে, যা .NET প্ল্যাটফর্মের জন্য সাধারণ API সরবরাহ করে।
CoreCLR হলো .NET Core এর Runtime, যা .NET অ্যাপ্লিকেশনগুলোকে রান করে। এটি Garbage Collection, JIT Compilation, এবং Thread Management সহ অন্যান্য গুরুত্বপূর্ণ কাজ করে থাকে।
CoreFX হলো .NET Core এর Base Class Library (BCL)। এটি বিভিন্ন কমন লাইব্রেরি সরবরাহ করে, যেমন ডেটা টাইপ, ফাইল ম্যানেজমেন্ট, স্ট্রিমিং, নেটওয়ার্কিং, এবং আরো অনেক কিছু।
ASP.NET Core হলো .NET Core এর উপর ভিত্তি করে তৈরি একটি ওয়েব ফ্রেমওয়ার্ক, যা দিয়ে ডাইনামিক ওয়েব অ্যাপ্লিকেশন এবং API তৈরি করা হয়। এটি খুবই দ্রুত এবং স্কেলযোগ্য, ফলে বড় বড় ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য আদর্শ।
Entity Framework Core (EF Core) হলো .NET Core এর ORM (Object-Relational Mapper), যা ডেটাবেস ম্যানেজমেন্টকে সহজ করে। এর মাধ্যমে ডাটাবেজের সাথে ইন্টারঅ্যাক্ট করা এবং ডেটা ম্যানিপুলেশন করা খুবই সহজ।
.NET Core এর একটি শক্তিশালী Command Line Interface (CLI) রয়েছে, যা দিয়ে ডেভেলপাররা কোড কম্পাইল, রান, এবং ম্যানেজ করতে পারেন। এটি ডেভেলপারদের জন্য দ্রুত কাজ করার এবং প্রয়োজনীয় টুলস ব্যবহার করার সুযোগ তৈরি করে।
# নতুন .NET Core প্রোজেক্ট তৈরি করা
dotnet new console
# প্রোজেক্ট রান করা
dotnet run
প্রথমে, আপনাকে .NET Core SDK ইন্সটল করতে হবে। এটি Microsoft এর অফিসিয়াল ওয়েবসাইট থেকে ডাউনলোড করা যায়।
.NET Core CLI ব্যবহার করে নতুন প্রোজেক্ট তৈরি করতে পারেন।
dotnet new console -n MyFirstApp
cd MyFirstApp
dotnet run
ASP.NET Core ব্যবহার করে ওয়েব অ্যাপ্লিকেশন তৈরি করতে নিম্নলিখিত কমান্ড ব্যবহার করা যায়:
dotnet new webapp -n MyWebApp
cd MyWebApp
dotnet run
.NET Core এ Dependency Injection ইনবিল্ট, ফলে আপনার অ্যাপ্লিকেশনের মধ্যে সহজেই এটি ব্যবহার করতে পারেন।
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient();
}
Entity Framework Core ব্যবহার করে ডাটাবেস ইন্টিগ্রেশন সহজ করা যায়। ডাটাবেসের টেবিল এবং সম্পর্ক তৈরি করার জন্য মডেল ক্লাস ব্যবহার করা হয়।
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
.NET Core এর বিভিন্ন ফিচার এবং ফ্রেমওয়ার্ক আর্কিটেকচার নতুনদের জন্য কিছুটা জটিল হতে পারে, বিশেষ করে মাইক্রোসার্ভিস এবং ডিপেনডেন্সি ইঞ্জেকশন শিখতে সময় লাগে।
.NET Framework থেকে .NET Core এ অ্যাপ্লিকেশন মাইগ্রেট করা মাঝে মাঝে চ্যালেঞ্জিং হতে পারে, কারণ কিছু লাইব্রেরি এবং API .NET Core এ সমর্থিত নয়।
যদিও .NET Core ক্রস-প্ল্যাটফর্ম, তবে কিছু প্ল্যাটফর্ম-নির্দিষ্ট ফিচার, যেমন Windows ফর্মস বা WPF, শুধুমাত্র Windows-এ সমর্থিত। ফলে সব ধরনের অ্যাপ্লিকেশন ক্রস-প্ল্যাটফর্ম হিসেবে তৈরি করা সম্ভব নয়।
.NET Core এর ASP.NET Core ফ্রেমওয়ার্ক বড় বড় ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। বড় বড় ই-কমার্স সাইট এবং এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরির জন্য এটি অত্যন্ত জনপ্রিয়।
.NET Core মাইক্রোসার্ভিস আর্কিটেকচারের জন্য বিশেষভাবে উপযোগী। বড় বড় এন্টারপ্রাইজ সিস্টেমে মাইক্রোসার্ভিস আর্কিটেকচার ব্যবহৃত হয়, যেখানে .NET Core খুবই কার্যকর।
Microsoft Azure এর সাথে .NET Core খুব সহজে ইন্টিগ্রেট করা যায়, যা বড় বড় ক্লাউড ভিত্তিক অ্যাপ্লিকেশন ডেভেলপমেন্ট এবং ডেপ্লয়মেন্টের জন্য উপযোগী।
.NET Core এর মাধ্যমে দ্রুত এবং কার্যকরভাবে RESTful APIs তৈরি করা যায়, যা বিভিন্ন অ্যাপ্লিকেশন, মোবাইল অ্যাপ, এবং ডেক্সটপ অ্যাপ্লিকেশনের সাথে ইন্টিগ্রেট করা যায়।
.NET Core | .NET Framework |
---|---|
Cross-platform (Windows, Linux, macOS) | শুধুমাত্র Windows-এ কাজ করে |
Open-source এবং Community-driven | Proprietary এবং Microsoft দ্বারা নিয়ন্ত্রিত |
মডুলার আর্কিটেকচার এবং হালকা ফ্রেমওয়ার্ক | ভারী এবং পুরো ফ্রেমওয়ার্ক ব্যবহার করে |
উচ্চ পারফরম্যান্স এবং মাইক্রোসার্ভিস সাপোর্ট | বড় এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত |
.NET Core হলো একটি অত্যাধুনিক, ওপেন সোর্স, এবং ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক, যা দিয়ে বিভিন্ন ধরনের অ্যাপ্লিকেশন তৈরি করা যায়। এটি বিশেষ করে ওয়েব অ্যাপ্লিকেশন, মাইক্রোসার্ভিস, এবং ক্লাউড ভিত্তিক অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য আদর্শ। .NET Core এর পারফরম্যান্স, স্কেলযোগ্যতা, এবং ফ্লেক্সিবিলিটি এটিকে বড় বড় এন্টারপ্রাইজ এবং ই-কমার্স সাইটের জন্য অত্যন্ত কার্যকর করে তুলেছে।